#pragma once
#include <NiDefaultClickRenderStep.h>
#include <NiApplication.h>
#include <Cegui.h>
#include <CEGUIRenderClick.h>

// Sample sub-class for ListboxTextItem that auto-sets the selection brush
// image.  This saves doing it manually every time in the code.
class MyListItem : public CEGUI::ListboxTextItem
    {
    public:
        MyListItem(const CEGUI::String& text) : ListboxTextItem(text)
            {
            setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush");
            }
    };



class LtGUI
    {
    private:
        NiApplication* pkNiGame;
        bool InitializeCegui();
        bool AppendGUI(NiDefaultClickRenderStep* pkMainStep);
        void createListContent(void);
        void initEventWiring(void);
        bool handleQuit(const CEGUI::EventArgs& e);
        bool handleSlider(const CEGUI::EventArgs& e);
        bool handleRadio(const CEGUI::EventArgs& e);
        bool handleCheck(const CEGUI::EventArgs& e);
    public:
        LtGUI(NiApplication* pkNiGame);
        ~LtGUI(void);
    };
